package com.springboot.ww.platform.pd.ctms.api;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;

import java.io.Serializable;
import java.util.List;

/**
 * 描述：
 *
 * @author 🧑 ‍wanwei
 * @since 2024-06-19 15:05
 */
@JsonIgnoreProperties(ignoreUnknown = true)
@Data
public class PdTrackResp implements Serializable {


	@JsonProperty("result")
	private ResultBean result;
	@JsonProperty("success")
	private boolean success;
	@JsonProperty("requestId")
	private String requestId;
	@JsonProperty("errorCode")
	private int errorCode;
	@JsonProperty("errorMsg")
	private String errorMsg;

	@JsonIgnoreProperties(ignoreUnknown = true)
	@Data
	public static class ResultBean implements Serializable {
		@JsonProperty("packageInfoResultList")
		private List<PackageInfoResultListBean> packageInfoResultList;

		@JsonIgnoreProperties(ignoreUnknown = true)
		@Data
		public static class PackageInfoResultListBean implements Serializable {
			@JsonProperty("estimatedText")
			private String estimatedText;
			@JsonProperty("shippingLabelStatus")
			private int shippingLabelStatus;
			@JsonProperty("canChangeToManualSend")
			private boolean canChangeToManualSend;
			@JsonProperty("dimensionUnit")
			private String dimensionUnit;
			@JsonProperty("packageDeliveryType")
			private int packageDeliveryType;
			@JsonProperty("packageSn")
			private String packageSn;
			@JsonProperty("length")
			private String length;
			@JsonProperty("weight")
			private String weight;
			@JsonProperty("warehouseName")
			private String warehouseName;
			@JsonProperty("shipCompanyId")
			private int shipCompanyId;
			@JsonProperty("failReasonText")
			private String failReasonText;
			@JsonProperty("warehouseId")
			private String warehouseId;
			@JsonProperty("width")
			private String width;
			@JsonProperty("shippingCompanyName")
			private String shippingCompanyName;
			@JsonProperty("trackingNumber")
			private String trackingNumber;
			@JsonProperty("channelId")
			private long channelId;
			@JsonProperty("height")
			private String height;
			@JsonProperty("weightUnit")
			private String weightUnit;
			@JsonProperty("orderSendInfoList")
			private List<OrderSendInfoListBean> orderSendInfoList;

			@JsonIgnoreProperties(ignoreUnknown = true)
			@Data
			public static class OrderSendInfoListBean implements Serializable {
				@JsonProperty("quantity")
				private int quantity;
				@JsonProperty("orderSn")
				private String orderSn;
				@JsonProperty("goodsId")
				private long goodsId;
				@JsonProperty("parentOrderSn")
				private String parentOrderSn;
				@JsonProperty("skuId")
				private long skuId;
			}
		}
	}
}
